home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / PNL Libraries / MyFSAsyncs.p < prev    next >
Encoding:
Text File  |  1995-08-24  |  2.5 KB  |  99 lines  |  [TEXT/CWIE]

  1. unit MyFSAsyncs;
  2.  
  3. interface
  4.  
  5.     uses
  6.         Files;
  7.  
  8.     procedure FSReadAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  9.     procedure FSWriteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  10.     procedure FSCloseAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  11.     procedure FSDeleteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  12.     procedure FSCatMoveAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  13.     procedure FSRenameAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  14.     procedure FSExchangeFilesAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  15.  
  16. implementation
  17.  
  18.     uses
  19.         Devices,
  20.         PreserveA5, QLowLevel;
  21.  
  22.     procedure FSReadAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  23.         var
  24.             junk: OSErr;
  25.             prp: XParmBlkPtr;
  26.     begin
  27.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  28.         prp^.completion := comp;
  29.         pbp^.ioCompletion := gPreCompletionProc;
  30.         junk := PBReadAsync(pbp);
  31.     end;
  32.  
  33.     procedure FSWriteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  34.         var
  35.             junk: OSErr;
  36.             prp: XParmBlkPtr;
  37.     begin
  38.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  39.         prp^.completion := comp;
  40.         pbp^.ioCompletion := gPreCompletionProc;
  41.         junk := PBWriteAsync(pbp);
  42.     end;
  43.  
  44.     procedure FSCloseAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  45.         var
  46.             junk: OSErr;
  47.             prp: XParmBlkPtr;
  48.     begin
  49.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  50.         prp^.completion := comp;
  51.         pbp^.ioCompletion := gPreCompletionProc;
  52.         junk := PBCloseAsync(pbp);
  53.     end;
  54.  
  55.     procedure FSRenameAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  56.         var
  57.             junk: OSErr;
  58.             prp: XParmBlkPtr;
  59.     begin
  60.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  61.         prp^.completion := comp;
  62.         pbp^.ioCompletion := gPreCompletionProc;
  63.         junk := PBHRenameAsync(HParmBlkPtr(pbp));
  64.     end;
  65.  
  66.     procedure FSDeleteAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  67.         var
  68.             junk: OSErr;
  69.             prp: XParmBlkPtr;
  70.     begin
  71.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  72.         prp^.completion := comp;
  73.         pbp^.ioCompletion := gPreCompletionProc;
  74.         junk := PBHDeleteAsync(HParmBlkPtr(pbp));
  75.     end;
  76.  
  77.     procedure FSCatMoveAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  78.         var
  79.             junk: OSErr;
  80.             prp: XParmBlkPtr;
  81.     begin
  82.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  83.         prp^.completion := comp;
  84.         pbp^.ioCompletion := gPreCompletionProc;
  85.         junk := PBCatMoveAsync(CMovePBPtr(pbp));
  86.     end;
  87.  
  88.     procedure FSExchangeFilesAsync (pbp: univ ParmBlkPtr; comp: ProcPtr);
  89.         var
  90.             junk: OSErr;
  91.             prp: XParmBlkPtr;
  92.     begin
  93.         prp := XParmBlkPtr(ord(pbp) - XParamBlockRecExtra);
  94.         prp^.completion := comp;
  95.         pbp^.ioCompletion := gPreCompletionProc;
  96.         junk := PBExchangeFilesAsync(HParmBlkPtr(pbp));
  97.     end;
  98.  
  99. end.